package com.jrx.anytxn.param.mapper.ext;

import com.jrx.anytxn.common.annotation.ParamTuningAnnotation;
import com.jrx.anytxn.param.entity.PrCodeTableType;
import com.jrx.anytxn.param.mapper.base.PrCodeTableTypeMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author by yf
 * @Classname ExtPrCodeTableTypeMapper
 * @Description
 * @Date 2019/7/11 0011 下午 15:08
 */
public interface ExtPrCodeTableTypeMapper extends PrCodeTableTypeMapper {

    /**
     * 根据租户ID查询所有
     *
     * @param tenantId 租户ID
     * @return java.util.List<com.jrx.anytxn.param.entity.PrCodeTableType>
     * @author fan.yang
     * date: 2019/10/17 0017 下午 20:27
     */
    List<PrCodeTableType> selectByTenId(@Param("tenantId") String tenantId,@Param("typeId") String typeId,@Param("typeName") String typeName,@Param("typeDescription") String typeDescription);

    /**
     * 根据代码类型id和租户ID查询信息
     *
     * @param typeId   类型ID
     * @param tenantId 租户ID
     * @return com.jrx.anytxn.param.entity.PrCodeTableType
     * @author fan.yang
     * date: 2019/10/17 0017 下午 20:27
     */
    PrCodeTableType selectByTypeIdAndTenId(@Param("typeId") String typeId, @Param("tenantId") String tenantId);

    /**
     * 根据租户ID和类型ID删除信息
     *
     * @param typeId   类型ID
     * @param tenantId 租户ID
     * @return int
     * @author fan.yang
     * date: 2019/10/17 0017 下午 20:27
     */
    @ParamTuningAnnotation
    int deleteByTypeIdAndTenId(@Param("typeId") String typeId, @Param("tenantId") String tenantId);

    /**
     * 根据租户ID和类型ID编辑信息
     *
     * @param codeTableType 代码表实体
     * @return int
     * @author fan.yang
     * date: 2019/10/17 0017 下午 20:28
     */
    @ParamTuningAnnotation
    int updateByTypeIdAndTenId(PrCodeTableType codeTableType);

}
